//	Эта переменная говорит о том, что файл загружен браузером.
var rstLoaded = true;
//	alert('in rst');
var RSTPrice;
var RSTPriceDiscount;
var RSTNotes = '';
var kSto = 1;
var RSTInfo = {
	name: "Русские Страховые Традиции",
	price: 0,
	discountPrice: 0,
	notesToDisplay: new Array(0),
	notesSpecial: '',
	notes: "",
	rating: 0,
	realFr: 0,
	frArray: new Array(0),
	countSpecialNotes: 0,
	calc: function () {
		realCalculateRST();
	}
};
var RSTXML = false;
var RSTGroup;
var RSTClassTS;
var RSTGroupHish;
var RSTMinSS;
var RSTMbt;
var RSTTdu;
var RSTTu;
//	Функция расчета стоимости КАСКО фирмы РСТ


function realCalculateRST() {
	//	alert('111ch='+carChanged);
	if (cChange.changed) {
		//		alert('starting');
		$.post('./getRSTCar.php', {
			m: manufacturerName,
			c: carName,
			a: carAge.replace('carAge', '')
		}, function (data) {
			var carRST = $(data);
			RSTGroup = parseInt(carRST.find('gr').eq(0).text());
			RSTClassTS = parseInt(carRST.find('classTS').eq(0).text());
			RSTGroupHish = parseInt(carRST.find('groupHish').eq(0).text());
			RSTMinSS = parseFloat(carRST.find('minSS').eq(0).text());
			RSTMbt = parseFloat(carRST.find('mbt').eq(0).text());
			RSTTdu = parseFloat(carRST.find('tdu').eq(0).text());
			RSTTu = parseFloat(carRST.find('tu').eq(0).text());
			calculateRST();
			//	Функция 
		});
	} else
	calculateRST();
}

function calculateRST() {
	if (!RSTXML) $.ajax({
		url: "rst/RST_cars.xml?" + rand % 1000,
		success: function (response) {
			RSTXML = response;
			calcRST(RSTXML);
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			calculateRST()
		}
	});
	else
	calcRST(RSTXML);
}

function calcRST(response) {
	var ii = 0;
	try {

		RSTInfo.countSpecialNotes = 0;
		//   Ищем машину
		RSTInfo.notesToDisplay = new Array(0);
		RSTInfo.notesSpecial = '';
		if (RSTGroup == 1) {
			//			alert('RSTMinSS='+RSTMinSS);
			RSTMinSS = RSTMinSS * 1000;
			var ss;
			if (RSTMinSS > parseInt(price)) ss = RSTMinSS;
			else
			ss = parseInt(price);
			bt = (ss - parseInt(price) * RSTTdu / 100 + RSTMbt);

		} else {
			bt = parseInt(price) * RSTTdu / 100;
		}

		var kXML = $(response).find('Ki');
		//		alert('rst xml='+kXML.length);
		var kAgeExpMin = 0;
		var drAId, drEid;
		//		Проверяем стаж водителей+мультидрайв
		if (multiDrive) {
			if ($("#corporatePerson:checked").length > 0) kAgeExp = parseFloat(kXML.find('md2').eq(0).text());
			else
			kAgeExp = parseFloat(kXML.find('md1').eq(0).text());
		} else {
			for (var i = 0; i < driversListForCalc.length; i++) {
				var drA = driversListForCalc.eq(i).find('.f-driver-c2:first .input-47').eq(0).val();
				var drE = driversListForCalc.eq(i).find('.f-driver-c2:first .input-47').eq(1).val();
				drA = parseInt(drA);
				drE = parseInt(drE);
				if (drA < 23) drAId = '18-22';
				else if (drA < 28) drAId = '23-27';
				else if (drA < 36) drAId = '28-35';
				else drAId = 'm35';
				if (drE < 3) drEid = '0-2';
				else if (drE < 6) drEid = '3-5';
				else if (drE < 9) drEid = '6-8';
				else drEid = 'm8';
				var res = kXML.find('ageExp>e').filter(function () {
					return $(this).find('v:first').text() == drEid;
				});
				res = parseFloat(res.find('a').filter(function () {
					return $(this).find('v:first').text() == drAId
				}).find('k:first').text());
				if (res > kAgeExpMin) kAgeExpMin = res;
			}
			kAgeExp = kAgeExpMin;
		}
		//		alert('bt='+bt+'\n'+'ageExp='+kAgeExp);
		//		Оплата в рассрочку
		oplata = $('input:checked').filter("[name='oplata']").val();
		if (oplata == '0') oplata = 1;
		else
		oplata = parseFloat(kXML.find('oplata>c' + oplata).text());

		//		Способ возмещения ущерба
		var selectedStoa = $('#f-2').find('input:checked').filter("[name='sto']").val();
		var age = parseInt(carAge.replace('carAge', ''));
		switch (selectedStoa) {
		case "0":
			kSto = 1;
			break;
		case "1":
			kSto = 1;
			break;
		case "3":
			if (rus) {
				kSto = 1;
				RSTInfo.notesSpecial += 'Для отечественных ТС выплата производится только в денежном выражении.<br>';
				RSTInfo.countSpecialNotes++;
			} else {
				if (age < 3 || age > 2 && age < 5 && (parseInt(price) > 1000000)) kSto = kXML.find('stoa>s1').text();
				else
				kSto = kXML.find('stoa>s2').text();
			};
			break;
		case "4":
			if (rus) {
				kSto = 1;
				RSTInfo.notesSpecial += 'Для отечественных ТС выплата производится только в денежном выражении.<br>';
				RSTInfo.countSpecialNotes++
			} else {
				if (age < 3) kSto = 1;
				else if (age > 2 && age < 5 && parseInt(price) > 1000000) kSto = kXML.find('stoa>s1').text();
				else
				kSto = kXML.find('stoa>s2').text();
			}
		}
		kSto = parseFloat(kSto);

		var maxFr = parseInt(selectedFr);
		var frXML = kXML.find('k' + RSTClassTS);
		var realFrXML = frXML.filter(function () {
			if (parseInt(price) <= parseInt($(this).find('p:first').text())) {
				//					alert('sccss');
				return true;
			} else
			return false;
		}).eq(0);
		if (realFrXML.length == 0) {
			realFrXML = frXML.filter(function () {
				return '*' == $(this).find('p:first').text()
			});
			//			alert('k_='+RSTClassTS);
		}
		realFrXML = realFrXML.find('c').filter(function () {
			return parseInt($(this).find('p').text()) <= maxFr
		}).last();
		fr = parseFloat(realFrXML.find('v').text());
		RSTInfo.realFr = parseInt(realFrXML.find('p').text());
		if (typeof fr == "undefined" || fr == 0 || isNaN(fr)) {
			fr = 1;
			RSTInfo.realFr = 0;
		}
		if (typeof kSto == "undefined" || kSto == 0 || isNaN(kSto)) kSto = 1;

		//		Сигнализация
/*			
		if(rus){
			selectedAlarm='case0';
//							if($('#immobilizer').attr('checked')||$('#secret').attr('checked')||$('#noAlarm').attr('checked')||$('#advImmobilizer').attr('checked')&&$('#advImmobilizerOther').attr('checked'))
//							selectedAlarm='case0';
			if(	$('#chime').attr('checked')
			||$('#advImmobilizer').attr('checked')
			||$('#immobilizer').attr('checked')
			||$('#advTransponder').attr('checked')
			||$('#advSattellite').attr('checked'))
				selectedAlarm='case1';
			if(	$('#chime').attr('checked')
				&&(
					$('#advImmobilizer').attr('checked')
					||$('#immobilizer').attr('checked')
					||$('#advTransponder').attr('checked')
					||$('#advSattellite').attr('checked')
				))
				selectedAlarm='case2';
				
				if(carInfo.find('alarm>case3').length>0)
					if(	$('#advImmobilizer').attr('checked')&&$('#advTecnoblockSat').attr('checked')
						||$('#advTransponder').attr('checked')
						||$('#advSattellite').attr('checked'))
						selectedAlarm='case3';
				if(carInfo.find('alarm>case4').length>0)
			if(	$('#advImmobilizer').attr('checked')&&$('#advTecnoblock').attr('checked')&&(
																							$('#advTecnoblock12KS').attr('checked')
																							||$('#advTecnoblockSat').attr('checked')
																							)
				||$('#advSattellite').attr('checked')
			)
				selectedAlarm='case4';
		}
		else{
		selectedAlarm='case0';
			
			if(
					(	$('#immobilizer').attr('checked')
						||$('#secret').attr('checked')
						||$('#advImmobilizer').attr('checked')
					)
					&&(
						$('#advTransponder').attr('checked')||$('#advSattellite').attr('checked')
					)
			)
				selectedAlarm='case1';
			if(
			(	
				$('#immobilizer').attr('checked')
				||$('#secret').attr('checked')
				||$('#advImmobilizer').attr('checked')
			)
			&&(
				$('#advSattellite').attr('checked')
				||$('#advImmobilizer').attr('checked')&&$('#advTecnoblock').attr('checked')&&($('#advTecnoblock12KS').attr('checked')
				||$('#advTecnoblockSat').attr('checked'))
			))
			selectedAlarm='case2';
		}
*/
		selectedAlarm = 1;
		//	Бонус малус
		var malus;
		malus = 1;
		//		if($('#noKaskoPayment').attr('checked'))malus=0.9;
		//		окончательный расчет
		//		if(oplata*kAgeExp*kSto*selectedAlarm*malus>0.75)
		RSTPrice = bt * oplata * kAgeExp * kSto * selectedAlarm * fr * malus + RSTTu * parseInt(price) * malus / 100;
		//		else 
		//			RSTPrice=parseInt(price)*0.75*fr;
		//		if((RSTPrice/parseInt(price)*100)<4.6)
		//			RSTPrice=parseInt(price)*0.046;
		var discount = (100 - parseFloat($('#sk1').text())) / 100;
		if (city == 'spb') RSTPrice = RSTPrice * 0.85;

/*
alert('rst:\n'+
"price="+parseInt(price)+"\n"
+"bt="+bt+"\n"
+"oplata="+oplata+"\n"
+"kAgeExp="+kAgeExp+"\n"
+"kSto="+kSto+"\n"
+"selectedAlarm="+selectedAlarm+"\n"
+"carAge="+carAge+"\n"
+"malus="+malus+"\n"
+"fr="+fr+"\n"
+"countDrivers="+countDrivers+"\n");
*/
		RSTPriceDiscount = RSTPrice * discount;
		RSTInfo.price = RSTPrice;
		RSTInfo.discountPrice = RSTPriceDiscount;
		RSTInfo.notes = RSTNotes;
		if (!realFr) realFr = 0;
		RSTInfo.realFr = realFr;
		RSTInfo.notesSpecial += "Размер франшизы " + addSpaces(RSTInfo.realFr.toString()) + " руб.<br>";
		RSTInfo.notesToDisplay.push("<span style='margin:0px; padding:0px; margin-left:24px;; position:relative; top:5px;'>Франшиза: " + addSpaces(RSTInfo.realFr.toString()) + " руб.</span><br>");
		RSTInfo.notesSpecial = 'Особенности расчета страховой компании Русские Страховые Традиции:<br>' + RSTInfo.notesSpecial;
		if (rus && (carAge == "carAge6" || carAge == "carAge7" || carAge == "carAge8")) {
			RSTInfo.notesSpecial += 'Отечественные ТС старше 5 лет принимаются только по согласованию с андеррайтером страховой компании.<br>';
			RSTInfo.countSpecialNotes++
			//	RSTInfo.notesToDisplay.push("<span style='margin:0px; padding:0px; margin-left:4px;; position:relative; top:-5px;'>Слишком старое ТС</span>br>");
		}
/*
		if(priceChanged)
		{
			RSTInfo.frArray=new Array(0);
			for(var i=1;i<=2.5001;i+=0.5)
			{
				var frImg={value:null,image:null}
				if((parseInt(price)/100*i)<=(slider2.maxVal+1)){
					frImg.value=parseInt(parseInt(price)/100*i);
					frImg.image=$("<img src='red.png' title='Франшиза "+addSpaces(frImg.value.toString())+" руб. для страховой компании Русские Страховые Традиции'>");
					RSTInfo.frArray.push(frImg);
				}
			}
			for(var i=0;i<RSTInfo.frArray.length;i++){
				var fromLeft=parseInt(RSTInfo.frArray[i].value/slider2.maxVal*slider2.width);
				RSTInfo.frArray[i].image.css("position","absolute").css("left",fromLeft+"px").css("top","0px").click(function(){$(this).parent().click();}).focus(function(){$(this).blur()}).appendTo($("#barsliderDiv1").eq(0));
				RSTInfo.frArray[i].image.css("position","absolute").css("left",fromLeft+"px").css("top","0px").click(function(){$(this).parent().click();}).focus(function(){$(this).blur()}).clone().appendTo($("#barsliderDiv2").eq(0));
			}
		}
		*/
		//	counterCasco('rst');
		counterCasco();
	} catch (eee) {
		alert("$$$#" + eee.name + '\n' + eee + '\n' + $(response).html() + '\n' + kXML.text());
		counterCasco();
	}
}